flowchart TD
    A[开始] --> B[接收订单编号参数]
    B --> C{订单编号是否为空?}
    C -->|是| D[返回错误:订单编号不能为空]
    C -->|否| E[查询订单信息]
    E --> F{订单是否存在且属于当前用户?}
    F -->|否| G[返回错误:订单不存在]
    F -->|是| H{订单状态是否为待支付?}
    H -->|否| I[返回错误:订单状态有误]
    H -->|是| J[生成支付订单号]
    J --> K[创建支付记录]
    K --> L[调用微信支付接口]
    L --> M{微信下单是否成功?}
    M -->|否| N[返回错误:微信下单失败]
    M -->|是| O[更新支付记录备注]
    O --> P[更新订单支付方式]
    P --> Q[构建返回结果]
    Q --> R[返回支付信息给前端]
    D --> S[结束]
    G --> S
    I --> S
    N --> S
    R --> S
